apportableについて


概要

調べ中なので、この文章は、知ってる人が見ればいいや程度のもので、啓蒙、オススメなどをするものでは有りません。


いろいろあってIndieを触ってみる事になった。

http://www.apportable.com

まだ色々整ってない印象。



最初に注意

apportableのインストール前に、XcodeのDeveloperPreviewとかが手元に有る場合、

注意。

apportableのツール内からxcrunで使われるんだけど、

プレビュー版が自動的に使われてそりゃもう動かんかった。

xcode-select --switch で指定し直せば動く。



導入

ログイン後、ページからStarterKitがゲットできる。

ここには書かないのでえーと頑張ってアカウント作ってください。


ゴバっといろいろインストールします。

インストール先は限定されているので、安心。


highvision:~ highvision$ XXXXXXXXXXXXXXXXXXXXXXXXX

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100  1345  100  1345    0     0    544      0  0:00:02  0:00:02 --:--:--   928

Checking for latest SDK...

Downloading SDK from XXXXXXXXXXXXXXXXXXXXXXXXX

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100 47.4M  100 47.4M    0     0   596k      0  0:01:21  0:01:21 --:--:--  505k

SDK installed into /Users/highvision/.apportable/SDK. Now updating toolchain.

vorbis-tools

==============================

installed: 0c2e4c653c107b53e366ad8d352839dfca8495b0

current: 0c2e4c653c107b53e366ad8d352839dfca8495b0

stable:  0c2e4c653c107b53e366ad8d352839dfca8495b0

1) 0c2e4c653c107b53e366ad8d352839dfca8495b0 Tue May 21 10:26:49 2013



android-ndk

==============================

installed: r8d.1

current: r8d.1

stable:  r8d.1

1) r8d Sat Feb 23 19:47:47 2013

2) r8d.1 Wed May 8 00:38:36 2013



clang

==============================

installed: 7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e

current: 7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e

stable:  7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e

1) 06017c71300e33419f46b46f350192b6032e7e0d Sat Feb 23 19:47:47 2013

2) c250d8b6c0aba5ae481526606084bb3112c3e6ff Tue Feb 26 20:37:09 2013

3) bee9c1e91260dd269d1a85ec5d11f1e8835c25b2 Tue Feb 26 20:37:09 2013

4) 925804cd386ea8c186ee9c6995cd44bab3b95f14 Sun May 5 17:28:19 2013

5) 7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e Thu May 23 23:41:34 2013 llvm/clang 3.3



profiler

==============================

installed: c905419b4766ef76d2eab8d17e98ee185f7e911c

current: c905419b4766ef76d2eab8d17e98ee185f7e911c

stable:  c905419b4766ef76d2eab8d17e98ee185f7e911c

1) c905419b4766ef76d2eab8d17e98ee185f7e911c Tue Jun 4 13:08:24 2013 1.01



m4

==============================

installed: e447db581a4b3d4655ad62ea85d0445342c4ac6a

current: e447db581a4b3d4655ad62ea85d0445342c4ac6a

stable:  e447db581a4b3d4655ad62ea85d0445342c4ac6a

1) e447db581a4b3d4655ad62ea85d0445342c4ac6a Mon Jun 3 19:13:45 2013



gdb

==============================

installed: 8c0d2ad999905881f5d1b9dbbb8169f3a56a7171

current: ff0611b8b721b3bf393c655c7d147de52cc850ac

stable:  4e639d65677bb04a16bd74a6ceb923855ac81c97

1) ee42cf949ec7ce4e3cf2ab0405fd394f29b27e40 Sat Feb 23 19:47:47 2013

2) fcb36ce2778272469bf28e91280e81838c8373de Sat Feb 23 19:47:47 2013

3) 6675c30e360ae2abc7b96c040c3867a37ae0440a Wed Apr  3 16:33:17 2013

4) a0aeb55ac44b11b83707fedf19bac41b616948c0 Sun May 5 17:28:19 2013

5) 8c0d2ad999905881f5d1b9dbbb8169f3a56a7171 Wed May 29 17:28:19 2013

6) 4e639d65677bb04a16bd74a6ceb923855ac81c97 Thu May 30 17:49:10 2013

7) ff0611b8b721b3bf393c655c7d147de52cc850ac Thu Jun 27 14:58:40 2013

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100  9.9M  100  9.9M    0     0   530k      0  0:00:19  0:00:19 --:--:--  657k

x gdb/

x gdb/bin/

x gdb/include/

x gdb/lib/

x gdb/share/

x gdb/share/gdb/

x gdb/share/info/

x gdb/share/locale/

x gdb/share/man/

x gdb/share/remote/

x gdb/share/remote/android/

x gdb/share/remote/android/arm/

x gdb/share/remote/android/arm/gdbserver

x gdb/share/man/man1/

x gdb/share/man/man1/arm-elf-linux-gdb.1

x gdb/share/man/man1/arm-elf-linux-run.1

x gdb/share/locale/da/

x gdb/share/locale/de/

x gdb/share/locale/es/

x gdb/share/locale/fi/

x gdb/share/locale/fr/

x gdb/share/locale/ga/

x gdb/share/locale/id/

x gdb/share/locale/it/

x gdb/share/locale/ja/

x gdb/share/locale/nl/

x gdb/share/locale/pt_BR/

x gdb/share/locale/ro/

x gdb/share/locale/ru/

x gdb/share/locale/rw/

x gdb/share/locale/sv/

x gdb/share/locale/tr/

x gdb/share/locale/uk/

x gdb/share/locale/vi/

x gdb/share/locale/zh_CN/

x gdb/share/locale/zh_CN/LC_MESSAGES/

x gdb/share/locale/zh_CN/LC_MESSAGES/bfd.mo

x gdb/share/locale/zh_CN/LC_MESSAGES/opcodes.mo

x gdb/share/locale/vi/LC_MESSAGES/

x gdb/share/locale/vi/LC_MESSAGES/bfd.mo

x gdb/share/locale/vi/LC_MESSAGES/opcodes.mo

x gdb/share/locale/uk/LC_MESSAGES/

x gdb/share/locale/uk/LC_MESSAGES/bfd.mo

x gdb/share/locale/tr/LC_MESSAGES/

x gdb/share/locale/tr/LC_MESSAGES/bfd.mo

x gdb/share/locale/tr/LC_MESSAGES/opcodes.mo

x gdb/share/locale/sv/LC_MESSAGES/

x gdb/share/locale/sv/LC_MESSAGES/bfd.mo

x gdb/share/locale/sv/LC_MESSAGES/opcodes.mo

x gdb/share/locale/rw/LC_MESSAGES/

x gdb/share/locale/rw/LC_MESSAGES/bfd.mo

x gdb/share/locale/ru/LC_MESSAGES/

x gdb/share/locale/ru/LC_MESSAGES/bfd.mo

x gdb/share/locale/ro/LC_MESSAGES/

x gdb/share/locale/ro/LC_MESSAGES/bfd.mo

x gdb/share/locale/ro/LC_MESSAGES/opcodes.mo

x gdb/share/locale/pt_BR/LC_MESSAGES/

x gdb/share/locale/pt_BR/LC_MESSAGES/opcodes.mo

x gdb/share/locale/nl/LC_MESSAGES/

x gdb/share/locale/nl/LC_MESSAGES/opcodes.mo

x gdb/share/locale/ja/LC_MESSAGES/

x gdb/share/locale/ja/LC_MESSAGES/bfd.mo

x gdb/share/locale/it/LC_MESSAGES/

x gdb/share/locale/it/LC_MESSAGES/opcodes.mo

x gdb/share/locale/id/LC_MESSAGES/

x gdb/share/locale/id/LC_MESSAGES/bfd.mo

x gdb/share/locale/id/LC_MESSAGES/opcodes.mo

x gdb/share/locale/ga/LC_MESSAGES/

x gdb/share/locale/ga/LC_MESSAGES/opcodes.mo

x gdb/share/locale/fr/LC_MESSAGES/

x gdb/share/locale/fr/LC_MESSAGES/bfd.mo

x gdb/share/locale/fr/LC_MESSAGES/opcodes.mo

x gdb/share/locale/fi/LC_MESSAGES/

x gdb/share/locale/fi/LC_MESSAGES/bfd.mo

x gdb/share/locale/fi/LC_MESSAGES/opcodes.mo

x gdb/share/locale/es/LC_MESSAGES/

x gdb/share/locale/es/LC_MESSAGES/bfd.mo

x gdb/share/locale/es/LC_MESSAGES/opcodes.mo

x gdb/share/locale/de/LC_MESSAGES/

x gdb/share/locale/de/LC_MESSAGES/opcodes.mo

x gdb/share/locale/da/LC_MESSAGES/

x gdb/share/locale/da/LC_MESSAGES/bfd.mo

x gdb/share/locale/da/LC_MESSAGES/opcodes.mo

x gdb/share/info/annotate.info

x gdb/share/info/bfd.info

x gdb/share/info/configure.info

x gdb/share/info/dir

x gdb/share/info/gdb.info

x gdb/share/info/gdbint.info

x gdb/share/info/stabs.info

x gdb/share/info/standards.info

x gdb/share/gdb/python/

x gdb/share/gdb/syscalls/

x gdb/share/gdb/syscalls/amd64-linux.xml

x gdb/share/gdb/syscalls/gdb-syscalls.dtd

x gdb/share/gdb/syscalls/i386-linux.xml

x gdb/share/gdb/syscalls/mips-n32-linux.xml

x gdb/share/gdb/syscalls/mips-n64-linux.xml

x gdb/share/gdb/syscalls/mips-o32-linux.xml

x gdb/share/gdb/syscalls/ppc-linux.xml

x gdb/share/gdb/syscalls/ppc64-linux.xml

x gdb/share/gdb/syscalls/sparc-linux.xml

x gdb/share/gdb/syscalls/sparc64-linux.xml

x gdb/share/gdb/python/gdb/

x gdb/share/gdb/python/gdb/__init__.py

x gdb/share/gdb/python/gdb/command/

x gdb/share/gdb/python/gdb/printing.py

x gdb/share/gdb/python/gdb/prompt.py

x gdb/share/gdb/python/gdb/types.py

x gdb/share/gdb/python/gdb/command/__init__.py

x gdb/share/gdb/python/gdb/command/explore.py

x gdb/share/gdb/python/gdb/command/pretty_printers.py

x gdb/share/gdb/python/gdb/command/prompt.py

x gdb/lib/libarm-elf-linux-sim.a

x gdb/lib/x86_64/

x gdb/lib/x86_64/libiberty.a

x gdb/include/gdb/

x gdb/include/gdb/jit-reader.h

x gdb/bin/arm-elf-linux-gdb

x gdb/bin/arm-elf-linux-run



adb

==============================

installed: cd96bfaea0f38a2de67e478463b24a4394be2cb3

current: cd96bfaea0f38a2de67e478463b24a4394be2cb3

stable:  cd96bfaea0f38a2de67e478463b24a4394be2cb3

1) cd96bfaea0f38a2de67e478463b24a4394be2cb3 Wed Jun 12 23:28:06 2013



android-sdk

==============================

installed: r21.0.1.1

current: r21.0.1.1

stable:  r21.0.1.1

1) r21.0.1 Sat Feb 23 19:47:47 2013

2) r21.0.1.1 Wed May 8 00:38:36 2013



Toolchain downloaded into /Users/highvision/.apportable/toolchain.

Apportable CLI is successfully installed at /Users/highvision/.apportable/SDK/bin/apportable

If you're using the default shell, add the Apportable CLI to your PATH using:

(echo; echo 'PATH="/Users/highvision/.apportable/SDK/bin:$PATH"') >> ~/.bash_profile; source ~/.bash_profile

highvision:~ highvision$ /Users/highvision/.apportable/SDK/bin/apportable update

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100  1345    0  1345    0     0    428      0 --:--:--  0:00:03 --:--:--   848

Checking for latest SDK...

Downloading SDK from XXXXXXXXXXXXXXXXXXXXXXXXX

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100 47.4M  100 47.4M    0     0   514k      0  0:01:34  0:01:34 --:--:--  684k

SDK installed into /Users/highvision/.apportable/SDK. Now updating toolchain.

vorbis-tools

==============================

installed: 0c2e4c653c107b53e366ad8d352839dfca8495b0

current: 0c2e4c653c107b53e366ad8d352839dfca8495b0

stable:  0c2e4c653c107b53e366ad8d352839dfca8495b0

1) 0c2e4c653c107b53e366ad8d352839dfca8495b0 Tue May 21 10:26:49 2013



android-ndk

==============================

installed: r8d.1

current: r8d.1

stable:  r8d.1

1) r8d Sat Feb 23 19:47:47 2013

2) r8d.1 Wed May 8 00:38:36 2013



clang

==============================

installed: 7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e

current: 7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e

stable:  7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e

1) 06017c71300e33419f46b46f350192b6032e7e0d Sat Feb 23 19:47:47 2013

2) c250d8b6c0aba5ae481526606084bb3112c3e6ff Tue Feb 26 20:37:09 2013

3) bee9c1e91260dd269d1a85ec5d11f1e8835c25b2 Tue Feb 26 20:37:09 2013

4) 925804cd386ea8c186ee9c6995cd44bab3b95f14 Sun May 5 17:28:19 2013

5) 7fc8b05e4f57f61dbbbe5c8e62581b0e0c42941e Thu May 23 23:41:34 2013 llvm/clang 3.3



profiler

==============================

installed: c905419b4766ef76d2eab8d17e98ee185f7e911c

current: c905419b4766ef76d2eab8d17e98ee185f7e911c

stable:  c905419b4766ef76d2eab8d17e98ee185f7e911c

1) c905419b4766ef76d2eab8d17e98ee185f7e911c Tue Jun 4 13:08:24 2013 1.01



m4

==============================

installed: e447db581a4b3d4655ad62ea85d0445342c4ac6a

current: e447db581a4b3d4655ad62ea85d0445342c4ac6a

stable:  e447db581a4b3d4655ad62ea85d0445342c4ac6a

1) e447db581a4b3d4655ad62ea85d0445342c4ac6a Mon Jun 3 19:13:45 2013



gdb

==============================

installed: 4e639d65677bb04a16bd74a6ceb923855ac81c97

current: ff0611b8b721b3bf393c655c7d147de52cc850ac

stable:  4e639d65677bb04a16bd74a6ceb923855ac81c97

1) ee42cf949ec7ce4e3cf2ab0405fd394f29b27e40 Sat Feb 23 19:47:47 2013

2) fcb36ce2778272469bf28e91280e81838c8373de Sat Feb 23 19:47:47 2013

3) 6675c30e360ae2abc7b96c040c3867a37ae0440a Wed Apr  3 16:33:17 2013

4) a0aeb55ac44b11b83707fedf19bac41b616948c0 Sun May 5 17:28:19 2013

5) 8c0d2ad999905881f5d1b9dbbb8169f3a56a7171 Wed May 29 17:28:19 2013

6) 4e639d65677bb04a16bd74a6ceb923855ac81c97 Thu May 30 17:49:10 2013

7) ff0611b8b721b3bf393c655c7d147de52cc850ac Thu Jun 27 14:58:40 2013



adb

==============================

installed: cd96bfaea0f38a2de67e478463b24a4394be2cb3

current: cd96bfaea0f38a2de67e478463b24a4394be2cb3

stable:  cd96bfaea0f38a2de67e478463b24a4394be2cb3

1) cd96bfaea0f38a2de67e478463b24a4394be2cb3 Wed Jun 12 23:28:06 2013



android-sdk

==============================

installed: r21.0.1.1

current: r21.0.1.1

stable:  r21.0.1.1

1) r21.0.1 Sat Feb 23 19:47:47 2013

2) r21.0.1.1 Wed May 8 00:38:36 2013



Toolchain downloaded into /Users/highvision/.apportable/toolchain.

Apportable CLI is successfully installed at /Users/highvision/.apportable/SDK/bin/apportable

If you're using the default shell, add the Apportable CLI to your PATH using:

(echo; echo 'PATH="/Users/highvision/.apportable/SDK/bin:$PATH"') >> ~/.bash_profile; source ~/.bash_profile

highvision:~ highvision$ 




ここまでで、2.6Gくらい持っていく。


インストールは下記にされる

/Users/highvision/.apportable/SDK/bin あたり。

もさっと。

スクリーンショット 2013-07-02 15.34.01.png

Start

まずこのへん見ろってサイトにあったので見る

http://docs.apportable.com/sample-apps.html#tweejump


「もしAndroid触った事無くても大丈夫、iOS7とおなじようなもんです」っていきなり言っててワロタ。はい。


で、

https://github.com/haqu/tweejump

をDLしてやってみろksg、みたいな話。


PapiJumpのTwアイコン版です。うわあなつかしい。

そんなPapiJump

mzl.akpjwtuo.320x480-75.jpg



で、まず動かすのはiOS App


Xcodeプロジェクトを開いて、そのままiOSとかで実行すると

a.png

まーこんな感じで動作する。


Android App 化

事前に実機を繋いでおく必要がある。


Xcode プロジェクト フォルダがある場所で、

apportable load


で、またモサッと。


highvision:tweejump highvision$ /Users/highvision/.apportable/SDK/bin/apportable load

Building to /Users/highvision/.apportable/SDK/Build/android-armeabi-debug

Updating configuration parameters... Building Xcode project /Users/highvision/Desktop/tweejump/tweejump

Scanning build configuration for target tweejump

Merging configuration parameters.



It looks like you're compiling this app for the first time.

tweejump.approj/configuration.json will be created for you.

A few quick questions and you'll be on your way:


If the app is using OpenGL ES, does it use ES1 or ES2? (Cocos2D 1.X uses ES1, 2.X uses ES2)

[1/2] 


使ってない場合どうこたえろっちゅーねん → 何も打たずエンターでOK。


Should the app initially launch in landscape or portrait orientation? (default: landscape)

[L/p] 

どちらなりと。


Loading configuration.

Finished parsing configuration.

scons: Building targets ...

Compiling /Users/highvision/Desktop/tweejump/tweejump/AppDelegate.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/Classes/Game.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/Classes/Highscores.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/Classes/Main.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/RootViewController.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/FontLabel/FontLabel.m

/Users/highvision/Desktop/tweejump/tweejump/Classes/Game.m:266:7: warning: 

      expression result unused [-Wunused-value]

                for(t; t < kPlatformsStartTag + kNumPlatforms; t++) {

                    ^

/Users/highvision/Desktop/tweejump/tweejump/Classes/Game.m:296:7: warning: 

      expression result unused [-Wunused-value]

                for(t; t < kCloudsStartTag + kNumClouds; t++) {

                    ^

/Users/highvision/Desktop/tweejump/tweejump/Classes/Game.m:309:7: warning: 

      expression result unused [-Wunused-value]

                for(t; t < kPlatformsStartTag + kNumPlatforms; t++) {

                    ^

/Users/highvision/Desktop/tweejump/tweejump/Classes/Main.m:112:6: warning: 

      expression result unused [-Wunused-value]

        for(t; t < kCloudsStartTag + kNumClouds; t++) {

            ^

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/FontLabel/FontLabelStringDrawing.m

1 warning generated.

3 warnings generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/FontLabel/FontManager.m

/Users/highvision/Desktop/tweejump/tweejump/libs/FontLabel/FontLabelStringDrawing.m:458:25: warning: 

      incompatible pointer types initializing 'NSMutableCharacterSet *' with an

      expression of type 'NSCharacterSet *' [-Wincompatible-pointer-types]

  ...*alphaCharset = [NSMutableCharacterSet alphanumericCharacterSet];

      ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/FontLabel/ZAttributedString.m

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/FontLabel/ZFont.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCAction.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionCamera.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionEase.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCAction.m:67:77: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCAction *' [-Wformat]

  ...stringWithFormat:@"<%@ = %08X | Tag = %i>", [self class], self, tag_];

                              ~~~~                             ^~~~

                              %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionGrid.m

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionGrid3D.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionInstant.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionInterval.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionManager.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionInstant.m:260:4: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCCallFunc *' [-Wformat]

                        self,

                        ^~~~

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionPageTurn3D.m

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionProgressTimer.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionTiledGrid.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCActionTween.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCAnimation.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCAnimationCache.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCAnimation.m:73:88: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCAnimation *' [-Wformat]

  ...= %08X | frames=%d, delay:%f>", [self class], self,

       ~~~~                                        ^~~~

       %8@

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCAtlasNode.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCAnimationCache.m:70:92: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCAnimationCache *' [-Wformat]

  ...= %08X | num of animations =  %i>", [self class], self, [animations_ cou...

       ~~~~                                            ^~~~

       %8@

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCBlockSupport.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCCamera.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCConfiguration.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCDirector.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCCamera.m:46:94: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCCamera *' [-Wformat]

  ...= %08X | center = (%.2f,%.2f,%.2f)>", [self class], self, centerX_, cent...

       ~~~~                                              ^~~~

       %8@

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCDrawingPrimitives.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCGrabber.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCGrid.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCLabelAtlas.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCLabelBMFont.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCGrid.m:128:87: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCGridBase *' [-Wformat]

  ...= %08X | Dimensions = %ix%i>", [self class], self, gridSize_.x, gridSize...

       ~~~~                                       ^~~~

       %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCLabelTTF.m

1 warning generated.

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCLabelBMFont.m:124:93: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCBMFontConfiguration *' [-Wformat]

  ...= %08X | Kernings:%d | Image = %@>", [self class], self,

       ~~~~                                             ^~~~

       %8@

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCLabelTTF.m:139:84: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCLabelTTF *' [-Wformat]

  ...stringWithFormat:@"<%@ = %08X | FontSize = %.1f>", [self class], self, f...

                              ~~~~                                    ^~~~

                              %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCLayer.m

1 warning generated.

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCMenu.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCMenuItem.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCMotionStreak.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCNode.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCParallaxNode.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCNode.m:321:77: warning: 

      format specifies type 'unsigned int' but the argument has type 'CCNode *'

      [-Wformat]

  ...stringWithFormat:@"<%@ = %08X | Tag = %i>", [self class], self, tag_];

                              ~~~~                             ^~~~

                              %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCParticleExamples.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCParticleSystem.m

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCParticleSystemPoint.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCParticleSystemQuad.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCProgressTimer.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCRenderTexture.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCRibbon.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCScene.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCRibbon.m:314:89: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCRibbonSegment *' [-Wformat]

  ...= %08X | end = %i, begin = %i>", [self class], self, end, begin];

       ~~~~                                         ^~~~

       %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCScheduler.m

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCSprite.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCSpriteBatchNode.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCScheduler.m:125:92: warning: 

      format specifies type 'unsigned int' but the argument has type 'CCTimer *'

      [-Wformat]

  ...= %08X | target:%@ selector:(%@)>", [self class], self, [target class], ...

       ~~~~                                            ^~~~

       %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCSpriteFrame.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCSprite.m:275:126: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCSprite *' [-Wformat]

  ...%08X | Rect = (%.2f,%.2f,%.2f,%.2f) | tag = %i | atlasIndex = %i>", [self class], self,

     ~~~~                                                                              ^~~~

     %8@

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCSpriteBatchNode.m:120:77: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCSpriteBatchNode *' [-Wformat]

  ...stringWithFormat:@"<%@ = %08X | Tag = %i>", [self class], self, tag_ ];

                              ~~~~                             ^~~~

                              %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCSpriteFrameCache.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCSpriteFrame.m:67:124: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCSpriteFrame *' [-Wformat]

  ...%08X | TextureName=%d, Rect = (%.2f,%.2f,%.2f,%.2f)> rotated:%d", [self class], self,

     ~~~~                                                                            ^~~~

     %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTMXLayer.m

1 warning generated.

1 warning generated.

1 warning generated.

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTMXObjectGroup.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCSpriteFrameCache.m:83:95: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCSpriteFrameCache *' [-Wformat]

  ...= %08X | num of sprite frames =  %i>", [self class], self, [spriteFrames...

       ~~~~                                               ^~~~

       %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTMXTiledMap.m

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTMXXMLParser.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTexture2D.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTextureAtlas.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTextureCache.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTexture2D.m:183:128: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCTexture2D *' [-Wformat]

  ...%08X | Name = %i | Dimensions = %ix%i | Coordinates = (%.2f, %.2f)>", [self class], self...

     ~~~~                                                                                ^~~~

     %8@

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTexturePVR.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTextureAtlas.m:113:85: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCTextureAtlas *' [-Wformat]

  ...stringWithFormat:@"<%@ = %08X | totalQuads =  %i>", [self class], self, ...

                              ~~~~                                     ^~~~

                              %8@

1 warning generated.

1 warning generated.

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTextureCache.m:115:4: warning: 

      format specifies type 'unsigned int' but the argument has type

      'CCTextureCache *' [-Wformat]

                        self,

                        ^~~~

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTileMapAtlas.m

1 warning generated.

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTransition.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTransitionPageTurn.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/CCTransitionRadial.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/Mac/CCDirectorMac.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/Mac/CCEventDispatcher.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/Mac/MacGLView.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/Mac/MacWindow.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/iOS/CCDirectorIOS.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/iOS/CCTouchDispatcher.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/iOS/CCTouchHandler.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/iOS/EAGLView.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/iOS/ES1Renderer.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/iOS/glu.c

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/CCArray.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/CCFileUtils.m

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Platforms/iOS/ES1Renderer.m:188:81: warning: 

      format specifies type 'unsigned int' but the argument has type

      'ES1Renderer *' [-Wformat]

  ...stringWithFormat:@"<%@ = %08X | size = %ix%i>", [self class], self, back...

                              ~~~~                                 ^~~~

                              %8@

1 warning generated.

/Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/CCArray.m:294:94: warning: 

      format specifies type 'unsigned int' but the argument has type 'CCArray *'

      [-Wformat]

  ...stringWithFormat:@"<%@ = %08X> = ( ", [self class], self];

                              ~~~~                       ^~~~

                              %8@

1 warning generated.


コンパイル過程で、LLVMっぽいWarningが出ている。


Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/CCProfiling.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/CGPointExtension.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/TGAlib.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/TransformUtils.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/ZipUtils.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/base64.c

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/Support/ccUtils.c

Compiling /Users/highvision/Desktop/tweejump/tweejump/libs/cocos2d/cocos2d.m

Compiling /Users/highvision/Desktop/tweejump/tweejump/main.m

Preprocessing System/verde/config.m.m4

Compiling Build/android-armeabi-debug/tweejump/config.m

Archiving Build/android-armeabi-debug/tweejump/apk/lib/armeabi/libconfig.a

Indexing Build/android-armeabi-debug/tweejump/apk/lib/armeabi/libconfig.a

Archiving Build/android-armeabi-debug/com.iplayful.tweejump/tweejump/libtweejump.a

Indexing Build/android-armeabi-debug/com.iplayful.tweejump/tweejump/libtweejump.a

Linking Build/android-armeabi-debug/tweejump/apk/lib/armeabi/libverde.so

Saving build configuration

Packaging resources.

Packaging assets/fps_images.png

Packaging assets/Icon-Small-50.png

Packaging assets/Default.png

Packaging assets/Icon-72.png

Packaging assets/Icon-Small.png

Packaging assets/Icon-Small@2x.png

Packaging assets/Icon.png

Packaging assets/iTunesArtwork

Packaging assets/bitmapFont.fnt

Packaging assets/bitmapFont.png

Packaging assets/changePlayerButton.png

Packaging assets/playAgainButton.png

Packaging assets/sprites.png

Packaging ATTRIBUTION.txt

Packaging assets/Info.plist

Dexing classes.

Packaging classes.dex

Packaging lib/armeabi/libverde.so

Packaging lib/armeabi/gdbserver

Packaging lib/armeabi/libv.so

Packaging lib/armeabi/libcxx.so

Packaging lib/armeabi/libSystem.so

Packaging lib/armeabi/libobjc.so

Packaging lib/armeabi/libffi.so

Packaging lib/armeabi/libpthread_workqueue.so

Packaging lib/armeabi/libdispatch.so

Packaging lib/armeabi/libFoundation.so

Packaging lib/armeabi/libBridgeKit.so

Packaging lib/armeabi/libOpenAL.so

Finalizing Build/android-armeabi-debug/tweejump/tweejump-unaligned.apk

Signing APK with keys

Aligning Build/android-armeabi-debug/tweejump/tweejump-signed.apk

Loading...

Waiting for device...




で、デバイス側への転送が始まる。

手元のアレな端末で試したところ、まあ動く。



UIKit全開なものを変換するとどうなるのか

→https://groups.google.com/forum/?fromgroups#!topic/apportable-discuss/jVR7FOa61_U

StoryBoardからのものは無理。

xibからのものは出る、、ほんとか?


→UIWindowへの直接の追加は無効

色指定すら無視された、、上になんもないのに、、


→xibで追加されるViewへの特定の変更は有効

色指定が効いた(ブワッ

コード、xibともに効果が確認できた


ボタンの追加は、xibからならOK

ただしデフォルト無指定の場合、枠線が出ない。


スクリーンショット 2013-07-05 11.09.25.png

iPhoneSimulator 640 x と、Android4.1 720 x1280

スクリーンショット 2013-07-05 11.13.05.pngサイズ未調整.png


出た。 で、ScreenというかView基底というか、UIWindowに対して処理を書く事で、

スクリーン比に合わせた変換が出来る。と。

#ifdef ANDROID

    [UIScreen mainScreen].currentMode =

    [UIScreenMode emulatedMode:UIScreenAspectFitEmulationMode];

#endif

で、

1__#$!@%!#__スクリーンショット 2013-07-05 11.13.05.pngScreenshot-2013-07-05.png

比率的にはだいたい一緒になったのでは!!

比率的な話でいうと、セットしている「Windowに対して等倍になる」というオプションのおかげで、

画面サイズ 720 x 1280に対して、xibのレイアウト特性がちゃんと出た状態で描画されている。


→で、ボタン押せるの?

- (IBAction)touch:(id)sender {

    [self.view removeFromSuperview];

}

が効いた。ちゃんと動いてる。ビュー消える。

アニメーションとかはどうなのかなー、UIAnimation試そう。



→ボタンの背景画像は?

出た。

ずれてるように見えるのは、_をフォントで書いているので、フォントサイズの変化によるモノだと思う。

たぶん前からこうなってるんだけど、背景が出た事で見えるようになった感じ。

1__#$!@%!#__Screenshot-2013-07-05.png


→UIAnimationは?

効かないっぽい。

ぐあああああああああああああ惜しいいいいいいいいいいいいいい



→Rotationは?

iOSと全く同じ、というかxibで指定したデフォルト動作が再現された。

ただ、AutoLayoutと旧式のレイアウトだと、旧式レイアウトのほうがちゃんと表示される気がする。

比較不足。

Android側で1pxくらい下線がでてるのは、Screenshotの都合っぽい。

スクリーンショット 2013-07-05 12.17.00.png縦.png


スクリーンショット 2013-07-05 12.37.41.png2__#$!@%!#__Screenshot-2013-07-05.png



→UITableとか、UITextViewとか

ちゃんと出てる感ある。Cellとかで細かい事したらどうなるかな。

TextFieldはちゃんとキーボードでたし打てたしイベント伝達もした。

3__#$!@%!#__Screenshot-2013-07-05.png



→UIWebView

xibで他のビューに内包したものだと、ローディングが開始されなかった。

単独のビューとして生成した場合、ちゃんと機能した。



ざっくりと変換OKだったもの

OpenGLESでのお絵描き

OpenAL系

AudioFramework系

このへんはOKだった。

NSTimerやDate系での時間を計った動作

OKだった。


GCD系

OKだった。


UIWebview

OKだった。

ただし、ビューの入れ子にすると正しく初期化されないぽい。

浅いレイヤーでベースに対して置く分にはOK。



ざっくりと変換が駄目だったもの

日本語

ラベルとかに貼ると文字化けJK


AFNetworking

no visible @interface for 'UIImage' declares the selector "initWithData:scale:" ネットワークとは別の理由で駄目。っぽい。


GPUImage

OpenGL系の定数宣言が無くアウトになる。

unknown type name 'CVOpenGLESTextureCacheRef'

unknown type name 'CVPixelBufferRef'

unknown type name 'CVOpenGLESTextureRef'

unknown type name 'CVPixelBufferRef'

プロパティが読めないとかなのかな。


PhotoPicker

AVBasicVideoOutput

カメラ系は駄目。

ゲームにフォーカスしているからかなーという読み。



apportableに関連したプロジェクトの管理について

Xcodeプロジェクトがある場所でapportableの各種コマンドを実行するのだけれど、

.sconsign.dblite

でいろいろ管理しているっぽい。っていうかXcodeのprojと同じ階層にぽいっと何か吐かれるので、こう、不味いことになりそう。


本題、内部変換的にどうなっているのか

ログ見るとだいたい解るような。

と思ったら

Seasonsさんという方がためになる死霊をupしてくださっていました。

http://www.slideshare.net/seasons/apportable-meeting



アプリケーションパッケージはどうなっているのか

Android用のパッケージが、下記に吐かれている。

/Users/ユーザー名/.apportable/SDK/Build


ここに、android-armeabi-debugフォルダが出来ていて、

中はこんな感じ。

スクリーンショット 2013-07-05 5.06.48.png

java、java-classes フォルダは 空だった。

途中の生成に使ってるのかなーって監視してみたけど、特になにも、、



apportableコマンドラインをドカッとはりつけ

highvision:SimpleWindowApp highvision$ apportable -h

usage: apportable [-h] [-v [VERBOSE_FLAGS]] [-j [NUM_JOBS]]

                  [--debug-scons DEBUG_SCONS] [--no-xcode] [--no-merge]

                  [--generate] [--target TARGET] [--xcode-project PROJECT]

                  [--xcode-workspace WORKSPACE] [--xcode-config CONFIGURATION]

                  [--xcode-target TARGET] [--xcode-scheme SCHEME]

                  [--xcode-sdk SDK] [--xcode-arch ARCH] [--fast-mode]

                  [--profile PROFILE] [--build-flags BUILD_FLAGS]

                  [--custom-params CUSTOM_PARAMS] [--version]

                  [--tools UPDATE_TOOLS] [--confirm-stable-updates]

                  [--use-clang-version USE_CLANG_VERSION]

                  [--use-gdb-version USE_GDB_VERSION]

                  [--use-sdk-version USE_SDK_VERSION]

                  [--use-ndk-version USE_NDK_VERSION]

                  [--use-vorbistools-version USE_VORBISTOOLS_VERSION]

                  [--use-m4-version USE_M4_VERSION] [--ninja]

                  

                  [{load,kill,just_debug,log,clean_assets,just_debug_java,copy_and_debug,build,analyze,update_toolchain,profile,clean,screenshot,copy_and_load,update,just_profile,dump_env,dst_clean,just_load,patch,debug_java,install,debug,clean_device_cache,uninstall}]


positional arguments:

  {load,kill,just_debug,log,clean_assets,just_debug_java,copy_and_debug,build,analyze,update_toolchain,profile,clean,screenshot,copy_and_load,update,just_profile,dump_env,dst_clean,just_load,patch,debug_java,install,debug,clean_device_cache,uninstall}

                        Invoke a build action. default = build


optional arguments:

  -h, --help            show this help message and exit

  -v [VERBOSE_FLAGS], --verbose [VERBOSE_FLAGS]

                        Verbose logging output. (compile,scons,signing,link,ex

                        plain,copy,builders,archive)

  -j [NUM_JOBS], --jobs [NUM_JOBS]

  --debug-scons DEBUG_SCONS

                        Comma-separated list of scons debug options (count,

                        dtree, explain, findlibs, includes, memoizer, memory,

                        objects, presub, stacktrace, stree, time, tree,

                        prepare, duplicate, randomdeps)

  --no-xcode            Disable Xcode invocations.

  --no-merge            Disable merging parameters (just use final).

  --generate            Force re-generation of Xcode derived parameters.

  --target TARGET

  --xcode-project PROJECT

                        Xcode project to generate parameters from (only

                        available on MacOS X).

  --xcode-workspace WORKSPACE

                        Xcode workspace to generate parameters from (only

                        available on MacOS X).

  --xcode-config CONFIGURATION

                        Xcode project configuration.

  --xcode-target TARGET

                        Xcode project target to build.

  --xcode-scheme SCHEME

                        Xcode project scheme to build.

  --xcode-sdk SDK       Xcode project sdk to build with.

  --xcode-arch ARCH     Xcode project arch to build for.

  --fast-mode           Disable header tracking and skip certain time costly

                        steps (note: this may be dangerous!)

  --profile PROFILE     Build with function profiling enabled.

  --build-flags BUILD_FLAGS

                        Display the build flags for a given file

  --custom-params CUSTOM_PARAMS

                        Add special environment switches for use with

                        conditional merge items. Note: this option is

                        potentially dangerous, use with care!

  --version             Show version information.

  --tools UPDATE_TOOLS  Comma-separated list of which tools you want to update

                        (eg: gdb,clang,android-ndk,android-sdk,ninja ). For

                        use with update_toolchain.

  --confirm-stable-updates

                        Automatically choose the stable variants of the

                        toolchain when updating

  --use-clang-version USE_CLANG_VERSION

                        Automatically choose this version of this tool when

                        updating the toolchain.

  --use-gdb-version USE_GDB_VERSION

                        Automatically choose this version of this tool when

                        updating the toolchain.

  --use-sdk-version USE_SDK_VERSION

                        Automatically choose this version of this tool when

                        updating the toolchain.

  --use-ndk-version USE_NDK_VERSION

                        Automatically choose this version of this tool when

                        updating the toolchain.

  --use-vorbistools-version USE_VORBISTOOLS_VERSION

                        Automatically choose this version of this tool when

                        updating the toolchain.

  --use-m4-version USE_M4_VERSION

                        Automatically choose this version of this tool when

                        updating the toolchain.

  --ninja               Use ninja to build.

ninja.pyってのがToolChainに入ってたがそれだろうか。

ちなみにninjaはIndieにしか含まれないっぽい。


Build actions:

互いに内包したりしてるタスク集。MavenでいうGoalみたいなの。


  build:           Compile c/c++/objc/objc++/java sources and create

                   application archive.


ビルド成果っていうかアーカイブが作られる場所が大変特殊で、

/Users/ユーザー名/.apportable/SDK/Build

の下に作られる。


  install:         Invoke the <build> phase, and install the application on a

                   connected device/emulator.

  load:            Invoke the <install> phase and launch the application.


  uninstall:       Uninstall app from device.


  kill:            Kill running app on device.


  screenshot:      Take a screenshot and save it into the current directory


Native Debugging:

  debug:           Invoke the <load> phase and attach the debugger (gdb).


  just_debug:      Launch the application and attach the debugger (no build

                   or install phases are invoked).


  log:             Show the system log for the attached device.


  clean_device_cache: Delete the cache of device libraries.  Use this if you

                      are having problems debugging on a device.  Next time

                      you debug, it will redownload all of the device

                      libraries.


Java Debugging:

  debug_java:      Invoke the <load> phase and attach the Java debugger (jdb).


  just_debug_java: Launch the application and attach the Java debugger (no

                   build or install phases are invoked).


Profiling:

  profile:         Invoke the <load> phase in profiler mode and load the

                   Profiler tool.


  just_profile:    Launch the application in profiler mode and load the

                   Profiler tool (no build or install phases are invoked).


Toolchain Managment:

  update_toolchain: Update the currently installed toolchain


  update:           Update the SDK


プラン、IndieとかProとかEnterpriseとか

Free  < 超えられない壁 < Indie < 超えられない壁 < Pro = Enterprise

なのかなーまだ良く解ってないけど。


Indie触ってみた感想だと、UIKit周りが出せるのがIndieからなので、

それ以下だとUI的な旨味はゼロになる印象。


まーUIはルールがー


みたいな話になるけどな。


気になった事

ARCはどうなってしまうのか

問題ないような。


Javaで追記できるのか

できた。


Unityとかは?

Freeだと無理。

適当に作ったプロジェクトを動かそうとしたが、apportable load自体でエラーが出た。

Indieだと動かせるのかな。


Storeとかは?

組み込みのものがあってそこにブリッジされるみたいなものすごい事がさらっと書いてあったが、

どうなっているのやら。

AndroidのVersionごとに微妙に差異があるのをどう解消してるのかな。とか、

一時保存とかどうしてるのかな、とか、

リストアとかのときどうするの?とか



まとめ

かなり根本的な機構から移植というか動作可能コンバートというか、稼働するようになっているので、

上辺だけの変換ではなく、根っこから誠実に実装されてるんだなーという感じがする。


UIKitでのレイアウトが生かせるのは、その部分だけ考えても大変有用なのでは。